<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /usr/include/sys/cdefs.h</title>
  </head>
  <body>
    <h1>File: /usr/include/sys/cdefs.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="k">/*</span>
<a name="2" /><span class="True">       2:</span> <span class="k"> * Copyright (c) 2000-2012 Apple Inc. All rights reserved.</span>
<a name="3" /><span class="True">       3:</span> <span class="k"> *</span>
<a name="4" /><span class="True">       4:</span> <span class="k"> * @APPLE_OSREFERENCE_LICENSE_HEADER_START@</span>
<a name="5" /><span class="True">       5:</span> <span class="k"> * </span>
<a name="6" /><span class="True">       6:</span> <span class="k"> * This file contains Original Code and/or Modifications of Original Code</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> * as defined in and that are subject to the Apple Public Source License</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * Version 2.0 (the &apos;License&apos;). You may not use this file except in</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> * compliance with the License. The rights granted to you under the License</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> * may not be used to create, or enable the creation or redistribution of,</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> * unlawful or unlicensed copies of an Apple operating system, or to</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> * circumvent, violate, or enable the circumvention or violation of, any</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> * terms of an Apple operating system software license agreement.</span>
<a name="14" /><span class="True">      14:</span> <span class="k"> * </span>
<a name="15" /><span class="True">      15:</span> <span class="k"> * Please obtain a copy of the License at</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> * http://www.opensource.apple.com/apsl/ and read it before using this file.</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> * </span>
<a name="18" /><span class="True">      18:</span> <span class="k"> * The Original Code and all software distributed under the License are</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> * distributed on an &apos;AS IS&apos; basis, WITHOUT WARRANTY OF ANY KIND, EITHER</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.</span>
<a name="23" /><span class="True">      23:</span> <span class="k"> * Please see the License for the specific language governing rights and</span>
<a name="24" /><span class="True">      24:</span> <span class="k"> * limitations under the License.</span>
<a name="25" /><span class="True">      25:</span> <span class="k"> * </span>
<a name="26" /><span class="True">      26:</span> <span class="k"> * @APPLE_OSREFERENCE_LICENSE_HEADER_END@</span>
<a name="27" /><span class="True">      27:</span> <span class="k"> */</span>
<a name="28" /><span class="True">      28:</span> <span class="k">/* Copyright 1995 NeXT Computer, Inc. All rights reserved. */</span>
<a name="29" /><span class="True">      29:</span> <span class="k">/*</span>
<a name="30" /><span class="True">      30:</span> <span class="k"> * Copyright (c) 1991, 1993</span>
<a name="31" /><span class="True">      31:</span> <span class="k"> *    The Regents of the University of California.  All rights reserved.</span>
<a name="32" /><span class="True">      32:</span> <span class="k"> *</span>
<a name="33" /><span class="True">      33:</span> <span class="k"> * This code is derived from software contributed to Berkeley by</span>
<a name="34" /><span class="True">      34:</span> <span class="k"> * Berkeley Software Design, Inc.</span>
<a name="35" /><span class="True">      35:</span> <span class="k"> *</span>
<a name="36" /><span class="True">      36:</span> <span class="k"> * Redistribution and use in source and binary forms, with or without</span>
<a name="37" /><span class="True">      37:</span> <span class="k"> * modification, are permitted provided that the following conditions</span>
<a name="38" /><span class="True">      38:</span> <span class="k"> * are met:</span>
<a name="39" /><span class="True">      39:</span> <span class="k"> * 1. Redistributions of source code must retain the above copyright</span>
<a name="40" /><span class="True">      40:</span> <span class="k"> *    notice, this list of conditions and the following disclaimer.</span>
<a name="41" /><span class="True">      41:</span> <span class="k"> * 2. Redistributions in binary form must reproduce the above copyright</span>
<a name="42" /><span class="True">      42:</span> <span class="k"> *    notice, this list of conditions and the following disclaimer in the</span>
<a name="43" /><span class="True">      43:</span> <span class="k"> *    documentation and/or other materials provided with the distribution.</span>
<a name="44" /><span class="True">      44:</span> <span class="k"> * 3. All advertising materials mentioning features or use of this software</span>
<a name="45" /><span class="True">      45:</span> <span class="k"> *    must display the following acknowledgement:</span>
<a name="46" /><span class="True">      46:</span> <span class="k"> *    This product includes software developed by the University of</span>
<a name="47" /><span class="True">      47:</span> <span class="k"> *    California, Berkeley and its contributors.</span>
<a name="48" /><span class="True">      48:</span> <span class="k"> * 4. Neither the name of the University nor the names of its contributors</span>
<a name="49" /><span class="True">      49:</span> <span class="k"> *    may be used to endorse or promote products derived from this software</span>
<a name="50" /><span class="True">      50:</span> <span class="k"> *    without specific prior written permission.</span>
<a name="51" /><span class="True">      51:</span> <span class="k"> *</span>
<a name="52" /><span class="True">      52:</span> <span class="k"> * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS&apos;&apos; AND</span>
<a name="53" /><span class="True">      53:</span> <span class="k"> * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span>
<a name="54" /><span class="True">      54:</span> <span class="k"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span>
<a name="55" /><span class="True">      55:</span> <span class="k"> * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE</span>
<a name="56" /><span class="True">      56:</span> <span class="k"> * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</span>
<a name="57" /><span class="True">      57:</span> <span class="k"> * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</span>
<a name="58" /><span class="True">      58:</span> <span class="k"> * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</span>
<a name="59" /><span class="True">      59:</span> <span class="k"> * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span>
<a name="60" /><span class="True">      60:</span> <span class="k"> * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</span>
<a name="61" /><span class="True">      61:</span> <span class="k"> * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</span>
<a name="62" /><span class="True">      62:</span> <span class="k"> * SUCH DAMAGE.</span>
<a name="63" /><span class="True">      63:</span> <span class="k"> *</span>
<a name="64" /><span class="True">      64:</span> <span class="k"> *    @(#)cdefs.h    8.8 (Berkeley) 1/9/95</span>
<a name="65" /><span class="True">      65:</span> <span class="k"> */</span>
<a name="66" /><span class="True">      66:</span> 
<a name="67" /><span class="Maybe">      67:</span> <span class="f">#</span><span class="n">ifndef</span>    <a href="cpu.c_macros_ref.html#_X0NERUZTX0hfXzA_"><span class="b">_CDEFS_H_</span></a>
<a name="68" /><span class="Maybe">      68:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X0NERUZTX0hfXzA_"><span class="b">_CDEFS_H_</span></a>
<a name="69" /><span class="Maybe">      69:</span> 
<a name="70" /><span class="False">      70:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">__cplusplus</span><span class="f">)</span>
<a name="71" /><span class="False">      71:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19CRUdJTl9ERUNMU18w"><span class="b">__BEGIN_DECLS</span></a>    <span class="m">extern</span> <span class="e">&quot;C&quot;</span> <span class="f">{</span>
<a name="72" /><span class="False">      72:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19FTkRfREVDTFNfMA__"><span class="b">__END_DECLS</span></a>    <span class="f">}</span>
<a name="73" /><span class="Maybe">      73:</span> <span class="f">#</span><span class="n">else</span>
<a name="74" /><span class="Maybe">      74:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19CRUdJTl9ERUNMU18w"><span class="b">__BEGIN_DECLS</span></a>
<a name="75" /><span class="Maybe">      75:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19FTkRfREVDTFNfMA__"><span class="b">__END_DECLS</span></a>
<a name="76" /><span class="Maybe">      76:</span> <span class="f">#</span><span class="n">endif</span>
<a name="77" /><span class="Maybe">      77:</span> 
<a name="78" /><span class="Maybe">      78:</span> <span class="k">/* This SDK is designed to work with clang and specific versions of</span>
<a name="79" /><span class="Maybe">      79:</span> <span class="k"> * gcc &gt;= 4.0 with Apple&apos;s patch sets */</span>
<a name="80" /><span class="False">      80:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a><span class="f">)</span> <span class="f">||</span> <a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a> <span class="f">&lt;</span> <span class="c">4</span>
<a name="81" /><span class="False">      81:</span> <span class="f">#</span><span class="b">warning</span> <span class="e">&quot;Unsupported compiler detected&quot;</span>
<a name="82" /><span class="Maybe">      82:</span> <span class="f">#</span><span class="n">endif</span>
<a name="83" /><span class="Maybe">      83:</span> 
<a name="84" /><span class="Maybe">      84:</span> <span class="k">/*</span>
<a name="85" /><span class="Maybe">      85:</span> <span class="k"> * The __CONCAT macro is used to concatenate parts of symbol names, e.g.</span>
<a name="86" /><span class="Maybe">      86:</span> <span class="k"> * with &quot;#define OLD(foo) __CONCAT(old,foo)&quot;, OLD(foo) produces oldfoo.</span>
<a name="87" /><span class="Maybe">      87:</span> <span class="k"> * The __CONCAT macro is a bit tricky -- make sure you don&apos;t put spaces</span>
<a name="88" /><span class="Maybe">      88:</span> <span class="k"> * in between its arguments.  __CONCAT can also concatenate double-quoted</span>
<a name="89" /><span class="Maybe">      89:</span> <span class="k"> * strings produced by the __STRING macro, but this only works with ANSI C.</span>
<a name="90" /><span class="Maybe">      90:</span> <span class="k"> */</span>
<a name="91" /><span class="Maybe">      91:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19TVERDX19fMA__"><span class="b">__STDC__</span></a><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><span class="b">__cplusplus</span><span class="f">)</span>
<a name="92" /><span class="Maybe">      92:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_X19QXzA_"><span class="b">__P</span></a><span class="f">(</span><span class="b">protos</span><span class="f">)</span>    <span class="b">protos</span>        <span class="k">/* full-blown ANSI C */</span>
<a name="93" /><span class="Maybe">      93:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_X19DT05DQVRfMA__"><span class="b">__CONCAT</span></a><span class="f">(</span><span class="b">x</span><span class="f">,</span><span class="b">y</span><span class="f">)</span>    <span class="b">x</span> <span class="f">##</span> <span class="b">y</span>
<a name="94" /><span class="Maybe">      94:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>    <span class="f">#</span><span class="b">x</span>
<a name="95" /><span class="Maybe">      95:</span> 
<a name="96" /><span class="Maybe">      96:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_X19jb25zdF8w"><span class="b">__const</span></a>        <span class="m">const</span>        <span class="k">/* define reserved names to standard */</span>
<a name="97" /><span class="Maybe">      97:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19zaWduZWRfMA__"><span class="b">__signed</span></a>    <span class="m">signed</span>
<a name="98" /><span class="Maybe">      98:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_X192b2xhdGlsZV8w"><span class="b">__volatile</span></a>    <span class="m">volatile</span>
<a name="99" /><span class="False">      99:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">__cplusplus</span><span class="f">)</span>
<a name="100" /><span class="False">     100:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19pbmxpbmVfMA__"><span class="b">__inline</span></a>    <span class="m">inline</span>        <span class="k">/* convert to C++ keyword */</span>
<a name="101" /><span class="Maybe">     101:</span> <span class="f">#</span><span class="n">else</span>
<a name="102" /><span class="False">     102:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a>
<a name="103" /><span class="False">     103:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19pbmxpbmVfMA__"><span class="b">__inline</span></a>            <span class="k">/* delete GCC keyword */</span>
<a name="104" /><span class="Maybe">     104:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__GNUC__ */</span>
<a name="105" /><span class="Maybe">     105:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__cplusplus */</span>
<a name="106" /><span class="Maybe">     106:</span> 
<a name="107" /><span class="False">     107:</span> <span class="f">#</span><span class="n">else</span>    <span class="k">/* !(__STDC__ || __cplusplus) */</span>
<a name="108" /><span class="False">     108:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_X19QXzA_"><span class="b">__P</span></a><span class="f">(</span><span class="b">protos</span><span class="f">)</span>    <span class="f">(</span><span class="f">)</span>        <span class="k">/* traditional C preprocessor */</span>
<a name="109" /><span class="False">     109:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_X19DT05DQVRfMA__"><span class="b">__CONCAT</span></a><span class="f">(</span><span class="b">x</span><span class="f">,</span><span class="b">y</span><span class="f">)</span>    <span class="b">x</span><span class="k">/**/</span><span class="b">y</span>
<a name="110" /><span class="False">     110:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>    <span class="e">&quot;x&quot;</span>
<a name="111" /><span class="False">     111:</span> 
<a name="112" /><span class="False">     112:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a>
<a name="113" /><span class="False">     113:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_X19jb25zdF8w"><span class="b">__const</span></a>                <span class="k">/* delete pseudo-ANSI C keywords */</span>
<a name="114" /><span class="False">     114:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19pbmxpbmVfMA__"><span class="b">__inline</span></a>
<a name="115" /><span class="False">     115:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19zaWduZWRfMA__"><span class="b">__signed</span></a>
<a name="116" /><span class="False">     116:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_X192b2xhdGlsZV8w"><span class="b">__volatile</span></a>
<a name="117" /><span class="False">     117:</span> <span class="f">#</span><span class="n">endif</span>    <span class="k">/* !__GNUC__ */</span>
<a name="118" /><span class="False">     118:</span> 
<a name="119" /><span class="False">     119:</span> <span class="k">/*</span>
<a name="120" /><span class="False">     120:</span> <span class="k"> * In non-ANSI C environments, new programs will want ANSI-only C keywords</span>
<a name="121" /><span class="False">     121:</span> <span class="k"> * deleted from the program and old programs will want them left alone.</span>
<a name="122" /><span class="False">     122:</span> <span class="k"> * When using a compiler other than gcc, programs using the ANSI C keywords</span>
<a name="123" /><span class="False">     123:</span> <span class="k"> * const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.</span>
<a name="124" /><span class="False">     124:</span> <span class="k"> * When using &quot;gcc -traditional&quot;, we assume that this is the intent; if</span>
<a name="125" /><span class="False">     125:</span> <span class="k"> * __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.</span>
<a name="126" /><span class="False">     126:</span> <span class="k"> */</span>
<a name="127" /><span class="False">     127:</span> <span class="f">#</span><span class="n">ifndef</span>    <span class="b">NO_ANSI_KEYWORDS</span>
<a name="128" /><span class="False">     128:</span> <span class="f">#</span><span class="n">define</span>    <span class="m">const</span>        <a href="cpu.c_macros_noref.html#_X19jb25zdF8w"><span class="b">__const</span></a>            <span class="k">/* convert ANSI C keywords */</span>
<a name="129" /><span class="False">     129:</span> <span class="f">#</span><span class="n">define</span>    <span class="m">inline</span>        <a href="cpu.c_macros_ref.html#_X19pbmxpbmVfMA__"><span class="b">__inline</span></a>
<a name="130" /><span class="False">     130:</span> <span class="f">#</span><span class="n">define</span>    <span class="m">signed</span>        <a href="cpu.c_macros_ref.html#_X19zaWduZWRfMA__"><span class="b">__signed</span></a>
<a name="131" /><span class="False">     131:</span> <span class="f">#</span><span class="n">define</span>    <span class="m">volatile</span>    <a href="cpu.c_macros_noref.html#_X192b2xhdGlsZV8w"><span class="b">__volatile</span></a>
<a name="132" /><span class="False">     132:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !NO_ANSI_KEYWORDS */</span>
<a name="133" /><span class="Maybe">     133:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !(__STDC__ || __cplusplus) */</span>
<a name="134" /><span class="Maybe">     134:</span> 
<a name="135" /><span class="Maybe">     135:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19kZWFkMl8w"><span class="b">__dead2</span></a>        <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">noreturn</span><span class="f">)</span><span class="f">)</span>
<a name="136" /><span class="Maybe">     136:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19wdXJlMl8w"><span class="b">__pure2</span></a>        <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="m">const</span><span class="f">)</span><span class="f">)</span>
<a name="137" /><span class="Maybe">     137:</span> 
<a name="138" /><span class="Maybe">     138:</span> <span class="k">/* __unused denotes variables and functions that may not be used, preventing</span>
<a name="139" /><span class="Maybe">     139:</span> <span class="k"> * the compiler from warning about it if not used.</span>
<a name="140" /><span class="Maybe">     140:</span> <span class="k"> */</span>
<a name="141" /><span class="Maybe">     141:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X191bnVzZWRfMA__"><span class="b">__unused</span></a>    <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">unused</span><span class="f">)</span><span class="f">)</span>
<a name="142" /><span class="Maybe">     142:</span> 
<a name="143" /><span class="Maybe">     143:</span> <span class="k">/* __used forces variables and functions to be included even if it appears</span>
<a name="144" /><span class="Maybe">     144:</span> <span class="k"> * to the compiler that they are not used (and would thust be discarded).</span>
<a name="145" /><span class="Maybe">     145:</span> <span class="k"> */</span>
<a name="146" /><span class="Maybe">     146:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X191c2VkXzA_"><span class="b">__used</span></a>        <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">used</span><span class="f">)</span><span class="f">)</span>
<a name="147" /><span class="Maybe">     147:</span> 
<a name="148" /><span class="Maybe">     148:</span> <span class="k">/* __deprecated causes the compiler to produce a warning when encountering</span>
<a name="149" /><span class="Maybe">     149:</span> <span class="k"> * code using the deprecated functionality.</span>
<a name="150" /><span class="Maybe">     150:</span> <span class="k"> * __deprecated_msg() does the same, and compilers that support it will print</span>
<a name="151" /><span class="Maybe">     151:</span> <span class="k"> * a message along with the deprecation warning.</span>
<a name="152" /><span class="Maybe">     152:</span> <span class="k"> * This may require turning on such warning with the -Wdeprecated flag.</span>
<a name="153" /><span class="Maybe">     153:</span> <span class="k"> * __deprecated_enum_msg() should be used on enums, and compilers that support</span>
<a name="154" /><span class="Maybe">     154:</span> <span class="k"> * it will print the deprecation warning.</span>
<a name="155" /><span class="Maybe">     155:</span> <span class="k"> */</span>
<a name="156" /><span class="Maybe">     156:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19kZXByZWNhdGVkXzE_"><span class="b">__deprecated</span></a>    <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">deprecated</span><span class="f">)</span><span class="f">)</span>
<a name="157" /><span class="Maybe">     157:</span> 
<a name="158" /><span class="Maybe">     158:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_X19oYXNfZXh0ZW5zaW9uXzA_"><span class="b">__has_extension</span></a>
<a name="159" /><span class="False">     159:</span>     <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19oYXNfZXh0ZW5zaW9uXzA_"><span class="b">__has_extension</span></a><span class="f">(</span><span class="b">attribute_deprecated_with_message</span><span class="f">)</span>
<a name="160" /><span class="False">     160:</span>         <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19kZXByZWNhdGVkX21zZ18w"><span class="b">__deprecated_msg</span></a><span class="f">(</span><span class="b">_msg</span><span class="f">)</span> <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">deprecated</span><span class="f">(</span><span class="b">_msg</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="161" /><span class="Maybe">     161:</span>     <span class="f">#</span><span class="n">else</span>
<a name="162" /><span class="Maybe">     162:</span>         <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19kZXByZWNhdGVkX21zZ18w"><span class="b">__deprecated_msg</span></a><span class="f">(</span><span class="b">_msg</span><span class="f">)</span> <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">deprecated</span><span class="f">)</span><span class="f">)</span>
<a name="163" /><span class="Maybe">     163:</span>     <span class="f">#</span><span class="n">endif</span>
<a name="164" /><span class="False">     164:</span> <span class="f">#</span><span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a> <span class="f">&gt;=</span> <span class="c">5</span><span class="f">)</span> <span class="f">||</span> <span class="f">(</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a> <span class="f">==</span> <span class="c">4</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="b">__GNUC_MINOR__</span> <span class="f">&gt;=</span> <span class="c">5</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="165" /><span class="False">     165:</span>     <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19kZXByZWNhdGVkX21zZ18w"><span class="b">__deprecated_msg</span></a><span class="f">(</span><span class="b">_msg</span><span class="f">)</span> <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">deprecated</span><span class="f">(</span><span class="b">_msg</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="166" /><span class="False">     166:</span> <span class="f">#</span><span class="n">else</span>
<a name="167" /><span class="False">     167:</span>     <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19kZXByZWNhdGVkX21zZ18w"><span class="b">__deprecated_msg</span></a><span class="f">(</span><span class="b">_msg</span><span class="f">)</span> <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">deprecated</span><span class="f">)</span><span class="f">)</span>
<a name="168" /><span class="Maybe">     168:</span> <span class="f">#</span><span class="n">endif</span>
<a name="169" /><span class="Maybe">     169:</span> 
<a name="170" /><span class="Maybe">     170:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_X19oYXNfZXh0ZW5zaW9uXzA_"><span class="b">__has_extension</span></a>
<a name="171" /><span class="False">     171:</span>     <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19oYXNfZXh0ZW5zaW9uXzA_"><span class="b">__has_extension</span></a><span class="f">(</span><span class="b">enumerator_attributes</span><span class="f">)</span>
<a name="172" /><span class="False">     172:</span>         <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19kZXByZWNhdGVkX2VudW1fbXNnXzA_"><span class="b">__deprecated_enum_msg</span></a><span class="f">(</span><span class="b">_msg</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19kZXByZWNhdGVkX21zZ18w"><span class="b">__deprecated_msg</span></a><span class="f">(</span><span class="b">_msg</span><span class="f">)</span>
<a name="173" /><span class="Maybe">     173:</span>     <span class="f">#</span><span class="n">else</span>
<a name="174" /><span class="Maybe">     174:</span>         <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19kZXByZWNhdGVkX2VudW1fbXNnXzA_"><span class="b">__deprecated_enum_msg</span></a><span class="f">(</span><span class="b">_msg</span><span class="f">)</span>
<a name="175" /><span class="Maybe">     175:</span>     <span class="f">#</span><span class="n">endif</span>
<a name="176" /><span class="False">     176:</span> <span class="f">#</span><span class="n">else</span>
<a name="177" /><span class="False">     177:</span>     <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19kZXByZWNhdGVkX2VudW1fbXNnXzA_"><span class="b">__deprecated_enum_msg</span></a><span class="f">(</span><span class="b">_msg</span><span class="f">)</span>
<a name="178" /><span class="Maybe">     178:</span> <span class="f">#</span><span class="n">endif</span>
<a name="179" /><span class="Maybe">     179:</span> 
<a name="180" /><span class="Maybe">     180:</span> <span class="k">/* __unavailable causes the compiler to error out when encountering</span>
<a name="181" /><span class="Maybe">     181:</span> <span class="k"> * code using the tagged function of variable.</span>
<a name="182" /><span class="Maybe">     182:</span> <span class="k"> */</span>
<a name="183" /><span class="Maybe">     183:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X191bmF2YWlsYWJsZV8w"><span class="b">__unavailable</span></a>    <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">unavailable</span><span class="f">)</span><span class="f">)</span>
<a name="184" /><span class="Maybe">     184:</span> 
<a name="185" /><span class="Maybe">     185:</span> <span class="k">/* Delete pseudo-keywords wherever they are not available or needed. */</span>
<a name="186" /><span class="Maybe">     186:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19kZWFkXzA_"><span class="b">__dead</span></a>
<a name="187" /><span class="Maybe">     187:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19kZWFkXzA_"><span class="b">__dead</span></a>
<a name="188" /><span class="Maybe">     188:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19wdXJlXzA_"><span class="b">__pure</span></a>
<a name="189" /><span class="Maybe">     189:</span> <span class="f">#</span><span class="n">endif</span>
<a name="190" /><span class="Maybe">     190:</span> 
<a name="191" /><span class="Maybe">     191:</span> <span class="k">/*</span>
<a name="192" /><span class="Maybe">     192:</span> <span class="k"> * We use `__restrict&apos; as a way to define the `restrict&apos; type qualifier</span>
<a name="193" /><span class="Maybe">     193:</span> <span class="k"> * without disturbing older software that is unaware of C99 keywords.</span>
<a name="194" /><span class="Maybe">     194:</span> <span class="k"> */</span>
<a name="195" /><span class="Maybe">     195:</span> <span class="f">#</span><span class="n">if</span> <span class="b">__STDC_VERSION__</span> <span class="f">&lt;</span> <span class="c">199901</span>
<a name="196" /><span class="Maybe">     196:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19yZXN0cmljdF8w"><span class="b">__restrict</span></a>
<a name="197" /><span class="False">     197:</span> <span class="f">#</span><span class="n">else</span>
<a name="198" /><span class="False">     198:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19yZXN0cmljdF8w"><span class="b">__restrict</span></a>    <span class="b">restrict</span>
<a name="199" /><span class="Maybe">     199:</span> <span class="f">#</span><span class="n">endif</span>
<a name="200" /><span class="Maybe">     200:</span> 
<a name="201" /><span class="Maybe">     201:</span> <span class="k">/* Declaring inline functions within headers is error-prone due to differences</span>
<a name="202" /><span class="Maybe">     202:</span> <span class="k"> * across various versions of the C language and extensions.  __header_inline</span>
<a name="203" /><span class="Maybe">     203:</span> <span class="k"> * can be used to declare inline functions within system headers.  In cases</span>
<a name="204" /><span class="Maybe">     204:</span> <span class="k"> * where you want to force inlining instead of letting the compiler make</span>
<a name="205" /><span class="Maybe">     205:</span> <span class="k"> * the decision, you can use __header_always_inline.</span>
<a name="206" /><span class="Maybe">     206:</span> <span class="k"> *</span>
<a name="207" /><span class="Maybe">     207:</span> <span class="k"> * Be aware that using inline for functions which compilers may also provide</span>
<a name="208" /><span class="Maybe">     208:</span> <span class="k"> * builtins can behave differently under various compilers.  If you intend to</span>
<a name="209" /><span class="Maybe">     209:</span> <span class="k"> * provide an inline version of such a function, you may want to use a macro</span>
<a name="210" /><span class="Maybe">     210:</span> <span class="k"> * instead.</span>
<a name="211" /><span class="Maybe">     211:</span> <span class="k"> *</span>
<a name="212" /><span class="Maybe">     212:</span> <span class="k"> * The check for !__GNUC__ || __clang__ is because gcc doesn&apos;t correctly</span>
<a name="213" /><span class="Maybe">     213:</span> <span class="k"> * support c99 inline in some cases:</span>
<a name="214" /><span class="Maybe">     214:</span> <span class="k"> * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965</span>
<a name="215" /><span class="Maybe">     215:</span> <span class="k"> */</span>
<a name="216" /><span class="Maybe">     216:</span> 
<a name="217" /><span class="False">     217:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">__cplusplus</span><span class="f">)</span> <span class="f">||</span> \
<a name="218" /><span class="False">     218:</span>     <span class="f">(</span><span class="b">__STDC_VERSION__</span> <span class="f">&gt;=</span> <span class="c">199901L</span> <span class="f">&amp;&amp;</span> \
<a name="219" /><span class="False">     219:</span>      <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">__GNUC_GNU_INLINE__</span><span class="f">)</span> <span class="f">&amp;&amp;</span> \
<a name="220" /><span class="False">     220:</span>      <span class="f">(</span><span class="f">!</span><span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><span class="b">__clang__</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="221" /><span class="False">     221:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19oZWFkZXJfaW5saW5lXzA_"><span class="b">__header_inline</span></a>           <span class="m">inline</span>
<a name="222" /><span class="False">     222:</span> <span class="f">#</span><span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">defined</span><span class="f">(</span><span class="b">__GNUC_STDC_INLINE__</span><span class="f">)</span>
<a name="223" /><span class="False">     223:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19oZWFkZXJfaW5saW5lXzA_"><span class="b">__header_inline</span></a>           <span class="m">extern</span> <a href="cpu.c_macros_ref.html#_X19pbmxpbmVfMA__"><span class="b">__inline</span></a> <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">__gnu_inline__</span><span class="f">)</span><span class="f">)</span>
<a name="224" /><span class="Maybe">     224:</span> <span class="f">#</span><span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a><span class="f">)</span>
<a name="225" /><span class="Maybe">     225:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19oZWFkZXJfaW5saW5lXzA_"><span class="b">__header_inline</span></a>           <span class="m">extern</span> <a href="cpu.c_macros_ref.html#_X19pbmxpbmVfMA__"><span class="b">__inline</span></a>
<a name="226" /><span class="False">     226:</span> <span class="f">#</span><span class="n">else</span>
<a name="227" /><span class="False">     227:</span>   <span class="k">/* If we land here, we&apos;ve encountered an unsupported compiler,</span>
<a name="228" /><span class="False">     228:</span> <span class="k">   * so hopefully it understands static __inline as a fallback.</span>
<a name="229" /><span class="False">     229:</span> <span class="k">   */</span>
<a name="230" /><span class="False">     230:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19oZWFkZXJfaW5saW5lXzA_"><span class="b">__header_inline</span></a>           <span class="m">static</span> <a href="cpu.c_macros_ref.html#_X19pbmxpbmVfMA__"><span class="b">__inline</span></a>
<a name="231" /><span class="Maybe">     231:</span> <span class="f">#</span><span class="n">endif</span>
<a name="232" /><span class="Maybe">     232:</span> 
<a name="233" /><span class="Maybe">     233:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_X19HTlVDX19fMA__"><span class="b">__GNUC__</span></a>
<a name="234" /><span class="Maybe">     234:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a>    <a href="cpu.c_macros_noref.html#_X19oZWFkZXJfaW5saW5lXzA_"><span class="b">__header_inline</span></a> <span class="b">__attribute__</span> <span class="f">(</span><span class="f">(</span><span class="b">__always_inline__</span><span class="f">)</span><span class="f">)</span>
<a name="235" /><span class="False">     235:</span> <span class="f">#</span><span class="n">else</span>
<a name="236" /><span class="False">     236:</span>   <span class="k">/* Unfortunately, we&apos;re using a compiler that we don&apos;t know how to force to</span>
<a name="237" /><span class="False">     237:</span> <span class="k">   * inline.  Oh well.</span>
<a name="238" /><span class="False">     238:</span> <span class="k">   */</span>
<a name="239" /><span class="False">     239:</span> <span class="f">#</span> <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19oZWFkZXJfYWx3YXlzX2lubGluZV8w"><span class="b">__header_always_inline</span></a>    <a href="cpu.c_macros_noref.html#_X19oZWFkZXJfaW5saW5lXzA_"><span class="b">__header_inline</span></a>
<a name="240" /><span class="Maybe">     240:</span> <span class="f">#</span><span class="n">endif</span>
<a name="241" /><span class="Maybe">     241:</span> 
<a name="242" /><span class="Maybe">     242:</span> <span class="k">/*</span>
<a name="243" /><span class="Maybe">     243:</span> <span class="k"> * Compiler-dependent macros to declare that functions take printf-like</span>
<a name="244" /><span class="Maybe">     244:</span> <span class="k"> * or scanf-like arguments.  They are null except for versions of gcc</span>
<a name="245" /><span class="Maybe">     245:</span> <span class="k"> * that are known to support the features properly.  Functions declared</span>
<a name="246" /><span class="Maybe">     246:</span> <span class="k"> * with these attributes will cause compilation warnings if there is a</span>
<a name="247" /><span class="Maybe">     247:</span> <span class="k"> * mismatch between the format string and subsequent function parameter</span>
<a name="248" /><span class="Maybe">     248:</span> <span class="k"> * types.</span>
<a name="249" /><span class="Maybe">     249:</span> <span class="k"> */</span>
<a name="250" /><span class="Maybe">     250:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19wcmludGZsaWtlXzA_"><span class="b">__printflike</span></a><span class="f">(</span><span class="b">fmtarg</span><span class="f">,</span> <span class="b">firstvararg</span><span class="f">)</span> \
<a name="251" /><span class="Maybe">     251:</span>         <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">__format__</span> <span class="f">(</span><span class="b">__printf__</span><span class="f">,</span> <span class="b">fmtarg</span><span class="f">,</span> <span class="b">firstvararg</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="252" /><span class="Maybe">     252:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19zY2FuZmxpa2VfMA__"><span class="b">__scanflike</span></a><span class="f">(</span><span class="b">fmtarg</span><span class="f">,</span> <span class="b">firstvararg</span><span class="f">)</span> \
<a name="253" /><span class="Maybe">     253:</span>         <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">__format__</span> <span class="f">(</span><span class="b">__scanf__</span><span class="f">,</span> <span class="b">fmtarg</span><span class="f">,</span> <span class="b">firstvararg</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="254" /><span class="Maybe">     254:</span> 
<a name="255" /><span class="Maybe">     255:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19JRFNUUklOR18w"><span class="b">__IDSTRING</span></a><span class="f">(</span><span class="b">name</span><span class="f">,</span><span class="b">string</span><span class="f">)</span> <span class="m">static</span> <span class="m">const</span> <span class="m">char</span> <span class="b">name</span><span class="f">[</span><span class="f">]</span> <a href="cpu.c_macros_ref.html#_X191c2VkXzA_"><span class="b">__used</span></a> <span class="f">=</span> <span class="b">string</span>
<a name="256" /><span class="Maybe">     256:</span> 
<a name="257" /><span class="Maybe">     257:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19DT1BZUklHSFRfMA__"><span class="b">__COPYRIGHT</span></a>
<a name="258" /><span class="Maybe">     258:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19DT1BZUklHSFRfMA__"><span class="b">__COPYRIGHT</span></a><span class="f">(</span><span class="b">s</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19JRFNUUklOR18w"><span class="b">__IDSTRING</span></a><span class="f">(</span><span class="b">copyright</span><span class="f">,</span><span class="b">s</span><span class="f">)</span>
<a name="259" /><span class="Maybe">     259:</span> <span class="f">#</span><span class="n">endif</span>
<a name="260" /><span class="Maybe">     260:</span> 
<a name="261" /><span class="Maybe">     261:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19SQ1NJRF8w"><span class="b">__RCSID</span></a>
<a name="262" /><span class="Maybe">     262:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19SQ1NJRF8w"><span class="b">__RCSID</span></a><span class="f">(</span><span class="b">s</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19JRFNUUklOR18w"><span class="b">__IDSTRING</span></a><span class="f">(</span><span class="b">rcsid</span><span class="f">,</span><span class="b">s</span><span class="f">)</span>
<a name="263" /><span class="Maybe">     263:</span> <span class="f">#</span><span class="n">endif</span>
<a name="264" /><span class="Maybe">     264:</span> 
<a name="265" /><span class="Maybe">     265:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19TQ0NTSURfMA__"><span class="b">__SCCSID</span></a>
<a name="266" /><span class="Maybe">     266:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19TQ0NTSURfMA__"><span class="b">__SCCSID</span></a><span class="f">(</span><span class="b">s</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19JRFNUUklOR18w"><span class="b">__IDSTRING</span></a><span class="f">(</span><span class="b">sccsid</span><span class="f">,</span><span class="b">s</span><span class="f">)</span>
<a name="267" /><span class="Maybe">     267:</span> <span class="f">#</span><span class="n">endif</span>
<a name="268" /><span class="Maybe">     268:</span> 
<a name="269" /><span class="Maybe">     269:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19QUk9KRUNUX1ZFUlNJT05fMA__"><span class="b">__PROJECT_VERSION</span></a>
<a name="270" /><span class="Maybe">     270:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19QUk9KRUNUX1ZFUlNJT05fMA__"><span class="b">__PROJECT_VERSION</span></a><span class="f">(</span><span class="b">s</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19JRFNUUklOR18w"><span class="b">__IDSTRING</span></a><span class="f">(</span><span class="b">project_version</span><span class="f">,</span><span class="b">s</span><span class="f">)</span>
<a name="271" /><span class="Maybe">     271:</span> <span class="f">#</span><span class="n">endif</span>
<a name="272" /><span class="Maybe">     272:</span> 
<a name="273" /><span class="Maybe">     273:</span> <span class="k">/* Source compatibility only, ID string not emitted in object file */</span>
<a name="274" /><span class="Maybe">     274:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19GQlNESURfMA__"><span class="b">__FBSDID</span></a>
<a name="275" /><span class="Maybe">     275:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19GQlNESURfMA__"><span class="b">__FBSDID</span></a><span class="f">(</span><span class="b">s</span><span class="f">)</span> 
<a name="276" /><span class="Maybe">     276:</span> <span class="f">#</span><span class="n">endif</span>
<a name="277" /><span class="Maybe">     277:</span> 
<a name="278" /><span class="Maybe">     278:</span> <span class="f">#</span><span class="n">ifndef</span>    <a href="cpu.c_macros_ref.html#_X19ERUNPTlNUXzA_"><span class="b">__DECONST</span></a>
<a name="279" /><span class="Maybe">     279:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19ERUNPTlNUXzA_"><span class="b">__DECONST</span></a><span class="f">(</span><span class="b">type</span><span class="f">,</span> <span class="b">var</span><span class="f">)</span>    <a href="cpu.c_macros_ref.html#_X19DQVNUX0FXQVlfUVVBTElGSUVSXzA_"><span class="b">__CAST_AWAY_QUALIFIER</span></a><span class="f">(</span><span class="b">var</span><span class="f">,</span> <span class="m">const</span><span class="f">,</span> <span class="b">type</span><span class="f">)</span>
<a name="280" /><span class="Maybe">     280:</span> <span class="f">#</span><span class="n">endif</span>
<a name="281" /><span class="Maybe">     281:</span> 
<a name="282" /><span class="Maybe">     282:</span> <span class="f">#</span><span class="n">ifndef</span>    <a href="cpu.c_macros_ref.html#_X19ERVZPTEFUSUxFXzA_"><span class="b">__DEVOLATILE</span></a>
<a name="283" /><span class="Maybe">     283:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19ERVZPTEFUSUxFXzA_"><span class="b">__DEVOLATILE</span></a><span class="f">(</span><span class="b">type</span><span class="f">,</span> <span class="b">var</span><span class="f">)</span>    <a href="cpu.c_macros_ref.html#_X19DQVNUX0FXQVlfUVVBTElGSUVSXzA_"><span class="b">__CAST_AWAY_QUALIFIER</span></a><span class="f">(</span><span class="b">var</span><span class="f">,</span> <span class="m">volatile</span><span class="f">,</span> <span class="b">type</span><span class="f">)</span>
<a name="284" /><span class="Maybe">     284:</span> <span class="f">#</span><span class="n">endif</span>
<a name="285" /><span class="Maybe">     285:</span> 
<a name="286" /><span class="Maybe">     286:</span> <span class="f">#</span><span class="n">ifndef</span>    <a href="cpu.c_macros_ref.html#_X19ERVFVQUxJRllfMA__"><span class="b">__DEQUALIFY</span></a>
<a name="287" /><span class="Maybe">     287:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_ref.html#_X19ERVFVQUxJRllfMA__"><span class="b">__DEQUALIFY</span></a><span class="f">(</span><span class="b">type</span><span class="f">,</span> <span class="b">var</span><span class="f">)</span>    <a href="cpu.c_macros_ref.html#_X19DQVNUX0FXQVlfUVVBTElGSUVSXzA_"><span class="b">__CAST_AWAY_QUALIFIER</span></a><span class="f">(</span><span class="b">var</span><span class="f">,</span> <span class="m">const</span> <span class="m">volatile</span><span class="f">,</span> <span class="b">type</span><span class="f">)</span>
<a name="288" /><span class="Maybe">     288:</span> <span class="f">#</span><span class="n">endif</span>
<a name="289" /><span class="Maybe">     289:</span> 
<a name="290" /><span class="Maybe">     290:</span> <span class="k">/*</span>
<a name="291" /><span class="Maybe">     291:</span> <span class="k"> * COMPILATION ENVIRONMENTS -- see compat(5) for additional detail</span>
<a name="292" /><span class="Maybe">     292:</span> <span class="k"> *</span>
<a name="293" /><span class="Maybe">     293:</span> <span class="k"> * DEFAULT    By default newly complied code will get POSIX APIs plus</span>
<a name="294" /><span class="Maybe">     294:</span> <span class="k"> *        Apple API extensions in scope.</span>
<a name="295" /><span class="Maybe">     295:</span> <span class="k"> *</span>
<a name="296" /><span class="Maybe">     296:</span> <span class="k"> *        Most users will use this compilation environment to avoid</span>
<a name="297" /><span class="Maybe">     297:</span> <span class="k"> *        behavioral differences between 32 and 64 bit code.</span>
<a name="298" /><span class="Maybe">     298:</span> <span class="k"> *</span>
<a name="299" /><span class="Maybe">     299:</span> <span class="k"> * LEGACY    Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple</span>
<a name="300" /><span class="Maybe">     300:</span> <span class="k"> *        API extensions in scope.</span>
<a name="301" /><span class="Maybe">     301:</span> <span class="k"> *</span>
<a name="302" /><span class="Maybe">     302:</span> <span class="k"> *        This is generally equivalent to the Tiger release compilation</span>
<a name="303" /><span class="Maybe">     303:</span> <span class="k"> *        environment, except that it cannot be applied to 64 bit code;</span>
<a name="304" /><span class="Maybe">     304:</span> <span class="k"> *        its use is discouraged.</span>
<a name="305" /><span class="Maybe">     305:</span> <span class="k"> *</span>
<a name="306" /><span class="Maybe">     306:</span> <span class="k"> *        We expect this environment to be deprecated in the future.</span>
<a name="307" /><span class="Maybe">     307:</span> <span class="k"> *</span>
<a name="308" /><span class="Maybe">     308:</span> <span class="k"> * STRICT    Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the</span>
<a name="309" /><span class="Maybe">     309:</span> <span class="k"> *        available APIs to exactly the set of APIs defined by the</span>
<a name="310" /><span class="Maybe">     310:</span> <span class="k"> *        corresponding standard, based on the value defined.</span>
<a name="311" /><span class="Maybe">     311:</span> <span class="k"> *</span>
<a name="312" /><span class="Maybe">     312:</span> <span class="k"> *        A correct, portable definition for _POSIX_C_SOURCE is 200112L.</span>
<a name="313" /><span class="Maybe">     313:</span> <span class="k"> *        A correct, portable definition for _XOPEN_SOURCE is 600L.</span>
<a name="314" /><span class="Maybe">     314:</span> <span class="k"> *</span>
<a name="315" /><span class="Maybe">     315:</span> <span class="k"> *        Apple API extensions are not visible in this environment,</span>
<a name="316" /><span class="Maybe">     316:</span> <span class="k"> *        which can cause Apple specific code to fail to compile,</span>
<a name="317" /><span class="Maybe">     317:</span> <span class="k"> *        or behave incorrectly if prototypes are not in scope or</span>
<a name="318" /><span class="Maybe">     318:</span> <span class="k"> *        warnings about missing prototypes are not enabled or ignored.</span>
<a name="319" /><span class="Maybe">     319:</span> <span class="k"> *</span>
<a name="320" /><span class="Maybe">     320:</span> <span class="k"> * In any compilation environment, for correct symbol resolution to occur,</span>
<a name="321" /><span class="Maybe">     321:</span> <span class="k"> * function prototypes must be in scope.  It is recommended that all Apple</span>
<a name="322" /><span class="Maybe">     322:</span> <span class="k"> * tools users add either the &quot;-Wall&quot; or &quot;-Wimplicit-function-declaration&quot;</span>
<a name="323" /><span class="Maybe">     323:</span> <span class="k"> * compiler flags to their projects to be warned when a function is being</span>
<a name="324" /><span class="Maybe">     324:</span> <span class="k"> * used without a prototype in scope.</span>
<a name="325" /><span class="Maybe">     325:</span> <span class="k"> */</span>
<a name="326" /><span class="Maybe">     326:</span> 
<a name="327" /><span class="Maybe">     327:</span> <span class="k">/* These settings are particular to each product. */</span>
<a name="328" /><span class="Maybe">     328:</span> <span class="k">/* Platform: MacOSX */</span>
<a name="329" /><span class="Maybe">     329:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV82NF9CSVRfSU5PX1RfMA__"><span class="b">__DARWIN_ONLY_64_BIT_INO_T</span></a>    <span class="c">0</span>
<a name="330" /><span class="Maybe">     330:</span> <span class="k">/* #undef __DARWIN_ONLY_UNIX_CONFORMANCE (automatically set for 64-bit) */</span>
<a name="331" /><span class="Maybe">     331:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV9WRVJTXzEwNTBfMA__"><span class="b">__DARWIN_ONLY_VERS_1050</span></a>        <span class="c">0</span>
<a name="332" /><span class="Maybe">     332:</span> 
<a name="333" /><span class="Maybe">     333:</span> <span class="k">/*</span>
<a name="334" /><span class="Maybe">     334:</span> <span class="k"> * The __DARWIN_ALIAS macros are used to do symbol renaming; they allow</span>
<a name="335" /><span class="Maybe">     335:</span> <span class="k"> * legacy code to use the old symbol, thus maintaining binary compatibility</span>
<a name="336" /><span class="Maybe">     336:</span> <span class="k"> * while new code can use a standards compliant version of the same function.</span>
<a name="337" /><span class="Maybe">     337:</span> <span class="k"> *</span>
<a name="338" /><span class="Maybe">     338:</span> <span class="k"> * __DARWIN_ALIAS is used by itself if the function signature has not</span>
<a name="339" /><span class="Maybe">     339:</span> <span class="k"> * changed, it is used along with a #ifdef check for __DARWIN_UNIX03</span>
<a name="340" /><span class="Maybe">     340:</span> <span class="k"> * if the signature has changed.  Because the __LP64__ environment</span>
<a name="341" /><span class="Maybe">     341:</span> <span class="k"> * only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be</span>
<a name="342" /><span class="Maybe">     342:</span> <span class="k"> * defined, but causes __DARWIN_ALIAS to do no symbol mangling.</span>
<a name="343" /><span class="Maybe">     343:</span> <span class="k"> *</span>
<a name="344" /><span class="Maybe">     344:</span> <span class="k"> * As a special case, when XCode is used to target a specific version of the</span>
<a name="345" /><span class="Maybe">     345:</span> <span class="k"> * OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__</span>
<a name="346" /><span class="Maybe">     346:</span> <span class="k"> * will be defined by the compiler, with the digits representing major version</span>
<a name="347" /><span class="Maybe">     347:</span> <span class="k"> * time 100 + minor version times 10 (e.g. 10.5 := 1050).  If we are targeting</span>
<a name="348" /><span class="Maybe">     348:</span> <span class="k"> * pre-10.5, and it is the default compilation environment, revert the</span>
<a name="349" /><span class="Maybe">     349:</span> <span class="k"> * compilation environment to pre-__DARWIN_UNIX03.</span>
<a name="350" /><span class="Maybe">     350:</span> <span class="k"> */</span>
<a name="351" /><span class="Maybe">     351:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV9VTklYX0NPTkZPUk1BTkNFXzA_"><span class="b">__DARWIN_ONLY_UNIX_CONFORMANCE</span></a><span class="f">)</span>
<a name="352" /><span class="False">     352:</span> <span class="f">#</span>  <span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">__LP64__</span><span class="f">)</span>
<a name="353" /><span class="False">     353:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV9VTklYX0NPTkZPUk1BTkNFXzA_"><span class="b">__DARWIN_ONLY_UNIX_CONFORMANCE</span></a> <span class="c">1</span>
<a name="354" /><span class="Maybe">     354:</span> <span class="f">#</span>  <span class="n">else</span> <span class="k">/* !__LP64__ */</span>
<a name="355" /><span class="Maybe">     355:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV9VTklYX0NPTkZPUk1BTkNFXzA_"><span class="b">__DARWIN_ONLY_UNIX_CONFORMANCE</span></a> <span class="c">0</span>
<a name="356" /><span class="Maybe">     356:</span> <span class="f">#</span>  <span class="n">endif</span> <span class="k">/* __LP64__ */</span>
<a name="357" /><span class="Maybe">     357:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__DARWIN_ONLY_UNIX_CONFORMANCE */</span>
<a name="358" /><span class="Maybe">     358:</span> 
<a name="359" /><span class="Maybe">     359:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a><span class="f">)</span>
<a name="360" /><span class="False">     360:</span> <span class="f">#</span>  <span class="n">if</span>   <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV9VTklYX0NPTkZPUk1BTkNFXzA_"><span class="b">__DARWIN_ONLY_UNIX_CONFORMANCE</span></a>
<a name="361" /><span class="False">     361:</span> <span class="f">#</span>    <span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">_NONSTD_SOURCE</span><span class="f">)</span>
<a name="362" /><span class="False">     362:</span> <span class="f">#</span>      <span class="n">error</span> <span class="e">&quot;Can&apos;t define _NONSTD_SOURCE when only UNIX conformance is available.&quot;</span>
<a name="363" /><span class="False">     363:</span> <span class="f">#</span>    <span class="n">endif</span> <span class="k">/* _NONSTD_SOURCE */</span>
<a name="364" /><span class="False">     364:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a>    <span class="c">1</span>
<a name="365" /><span class="False">     365:</span> <span class="f">#</span>  <span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><span class="b">__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="f">(</span><span class="b">__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__</span><span class="f">-</span><span class="c">0</span><span class="f">)</span> <span class="f">&lt;</span> <span class="c">1040</span><span class="f">)</span>
<a name="366" /><span class="False">     366:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a>    <span class="c">0</span>
<a name="367" /><span class="False">     367:</span> <span class="f">#</span>  <span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><span class="b">_DARWIN_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><span class="b">_XOPEN_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span>
<a name="368" /><span class="False">     368:</span> <span class="f">#</span>    <span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">_NONSTD_SOURCE</span><span class="f">)</span>
<a name="369" /><span class="False">     369:</span> <span class="f">#</span>      <span class="n">error</span> <span class="e">&quot;Can&apos;t define both _NONSTD_SOURCE and any of _DARWIN_C_SOURCE, _XOPEN_SOURCE or _POSIX_C_SOURCE.&quot;</span>
<a name="370" /><span class="False">     370:</span> <span class="f">#</span>    <span class="n">endif</span> <span class="k">/* _NONSTD_SOURCE */</span>
<a name="371" /><span class="False">     371:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a>    <span class="c">1</span>
<a name="372" /><span class="False">     372:</span> <span class="f">#</span>  <span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><span class="b">_NONSTD_SOURCE</span><span class="f">)</span>
<a name="373" /><span class="False">     373:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a>    <span class="c">0</span>
<a name="374" /><span class="Maybe">     374:</span> <span class="f">#</span>  <span class="n">else</span> <span class="k">/* default */</span>
<a name="375" /><span class="False">     375:</span> <span class="f">#</span>    <span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="f">(</span><span class="b">__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__</span><span class="f">-</span><span class="c">0</span><span class="f">)</span> <span class="f">&lt;</span> <span class="c">1050</span><span class="f">)</span>
<a name="376" /><span class="False">     376:</span> <span class="f">#</span>      <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a>    <span class="c">0</span>
<a name="377" /><span class="Maybe">     377:</span> <span class="f">#</span>    <span class="n">else</span> <span class="k">/* __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ &gt;= 1050 */</span>
<a name="378" /><span class="Maybe">     378:</span> <span class="f">#</span>      <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a>    <span class="c">1</span>
<a name="379" /><span class="Maybe">     379:</span> <span class="f">#</span>    <span class="n">endif</span> <span class="k">/* __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ &gt;= 1050 */</span>
<a name="380" /><span class="Maybe">     380:</span> <span class="f">#</span>  <span class="n">endif</span> <span class="k">/* _DARWIN_C_SOURCE || _XOPEN_SOURCE || _POSIX_C_SOURCE || __LP64__ */</span>
<a name="381" /><span class="Maybe">     381:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__DARWIN_UNIX03 */</span>
<a name="382" /><span class="Maybe">     382:</span> 
<a name="383" /><span class="Maybe">     383:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19EQVJXSU5fNjRfQklUX0lOT19UXzA_"><span class="b">__DARWIN_64_BIT_INO_T</span></a><span class="f">)</span>
<a name="384" /><span class="False">     384:</span> <span class="f">#</span>  <span class="n">if</span>   <span class="b">defined</span><span class="f">(</span><span class="b">_DARWIN_USE_64_BIT_INODE</span><span class="f">)</span>
<a name="385" /><span class="False">     385:</span> <span class="f">#</span>    <span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">_DARWIN_NO_64_BIT_INODE</span><span class="f">)</span>
<a name="386" /><span class="False">     386:</span> <span class="f">#</span>      <span class="n">error</span> <span class="e">&quot;Can&apos;t define both _DARWIN_USE_64_BIT_INODE and _DARWIN_NO_64_BIT_INODE.&quot;</span>
<a name="387" /><span class="False">     387:</span> <span class="f">#</span>    <span class="n">endif</span> <span class="k">/* _DARWIN_NO_64_BIT_INODE */</span>
<a name="388" /><span class="False">     388:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fNjRfQklUX0lOT19UXzA_"><span class="b">__DARWIN_64_BIT_INO_T</span></a> <span class="c">1</span>
<a name="389" /><span class="False">     389:</span> <span class="f">#</span>  <span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><span class="b">_DARWIN_NO_64_BIT_INODE</span><span class="f">)</span>
<a name="390" /><span class="False">     390:</span> <span class="f">#</span>    <span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV82NF9CSVRfSU5PX1RfMA__"><span class="b">__DARWIN_ONLY_64_BIT_INO_T</span></a>
<a name="391" /><span class="False">     391:</span> <span class="f">#</span>      <span class="n">error</span> <span class="e">&quot;Can&apos;t define _DARWIN_NO_64_BIT_INODE when only 64-bit inodes are available.&quot;</span>
<a name="392" /><span class="False">     392:</span> <span class="f">#</span>    <span class="n">endif</span> <span class="k">/* __DARWIN_ONLY_64_BIT_INO_T */</span>
<a name="393" /><span class="False">     393:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fNjRfQklUX0lOT19UXzA_"><span class="b">__DARWIN_64_BIT_INO_T</span></a> <span class="c">0</span>
<a name="394" /><span class="Maybe">     394:</span> <span class="f">#</span>  <span class="n">else</span> <span class="k">/* default */</span>
<a name="395" /><span class="False">     395:</span> <span class="f">#</span>    <span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV82NF9CSVRfSU5PX1RfMA__"><span class="b">__DARWIN_ONLY_64_BIT_INO_T</span></a>
<a name="396" /><span class="False">     396:</span> <span class="f">#</span>      <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fNjRfQklUX0lOT19UXzA_"><span class="b">__DARWIN_64_BIT_INO_T</span></a> <span class="c">1</span>
<a name="397" /><span class="False">     397:</span> <span class="f">#</span>    <span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><span class="b">__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="f">(</span><span class="b">__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__</span><span class="f">-</span><span class="c">0</span><span class="f">)</span> <span class="f">&lt;</span> <span class="c">1060</span><span class="f">)</span> <span class="f">||</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a> <span class="f">==</span> <span class="c">0</span>
<a name="398" /><span class="False">     398:</span> <span class="f">#</span>      <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fNjRfQklUX0lOT19UXzA_"><span class="b">__DARWIN_64_BIT_INO_T</span></a> <span class="c">0</span>
<a name="399" /><span class="Maybe">     399:</span> <span class="f">#</span>    <span class="n">else</span> <span class="k">/* default */</span>
<a name="400" /><span class="Maybe">     400:</span> <span class="f">#</span>      <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fNjRfQklUX0lOT19UXzA_"><span class="b">__DARWIN_64_BIT_INO_T</span></a> <span class="c">1</span>
<a name="401" /><span class="Maybe">     401:</span> <span class="f">#</span>    <span class="n">endif</span> <span class="k">/* __DARWIN_ONLY_64_BIT_INO_T */</span>
<a name="402" /><span class="Maybe">     402:</span> <span class="f">#</span>  <span class="n">endif</span>
<a name="403" /><span class="Maybe">     403:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__DARWIN_64_BIT_INO_T */</span>
<a name="404" /><span class="Maybe">     404:</span> 
<a name="405" /><span class="Maybe">     405:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVkVSU18xMDUwXzA_"><span class="b">__DARWIN_VERS_1050</span></a><span class="f">)</span>
<a name="406" /><span class="False">     406:</span> <span class="f">#</span>  <span class="n">if</span>   <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV9WRVJTXzEwNTBfMA__"><span class="b">__DARWIN_ONLY_VERS_1050</span></a>
<a name="407" /><span class="False">     407:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVkVSU18xMDUwXzA_"><span class="b">__DARWIN_VERS_1050</span></a> <span class="c">1</span>
<a name="408" /><span class="False">     408:</span> <span class="f">#</span>  <span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><span class="b">__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="f">(</span><span class="b">__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__</span><span class="f">-</span><span class="c">0</span><span class="f">)</span> <span class="f">&lt;</span> <span class="c">1050</span><span class="f">)</span> <span class="f">||</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a> <span class="f">==</span> <span class="c">0</span>
<a name="409" /><span class="False">     409:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVkVSU18xMDUwXzA_"><span class="b">__DARWIN_VERS_1050</span></a> <span class="c">0</span>
<a name="410" /><span class="Maybe">     410:</span> <span class="f">#</span>  <span class="n">else</span> <span class="k">/* default */</span>
<a name="411" /><span class="Maybe">     411:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVkVSU18xMDUwXzA_"><span class="b">__DARWIN_VERS_1050</span></a> <span class="c">1</span>
<a name="412" /><span class="Maybe">     412:</span> <span class="f">#</span>  <span class="n">endif</span>
<a name="413" /><span class="Maybe">     413:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__DARWIN_VERS_1050 */</span>
<a name="414" /><span class="Maybe">     414:</span> 
<a name="415" /><span class="Maybe">     415:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19EQVJXSU5fTk9OX0NBTkNFTEFCTEVfMA__"><span class="b">__DARWIN_NON_CANCELABLE</span></a><span class="f">)</span>
<a name="416" /><span class="Maybe">     416:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fTk9OX0NBTkNFTEFCTEVfMA__"><span class="b">__DARWIN_NON_CANCELABLE</span></a> <span class="c">0</span>
<a name="417" /><span class="Maybe">     417:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !__DARWIN_NON_CANCELABLE */</span>
<a name="418" /><span class="Maybe">     418:</span> 
<a name="419" /><span class="Maybe">     419:</span> <span class="k">/*</span>
<a name="420" /><span class="Maybe">     420:</span> <span class="k"> * symbol suffixes used for symbol versioning</span>
<a name="421" /><span class="Maybe">     421:</span> <span class="k"> */</span>
<a name="422" /><span class="Maybe">     422:</span> <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a>
<a name="423" /><span class="False">     423:</span> <span class="f">#</span>  <span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV9VTklYX0NPTkZPUk1BTkNFXzA_"><span class="b">__DARWIN_ONLY_UNIX_CONFORMANCE</span></a>
<a name="424" /><span class="False">     424:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX1VOSVgwM18w"><span class="b">__DARWIN_SUF_UNIX03</span></a>        <span class="k">/* nothing */</span>
<a name="425" /><span class="Maybe">     425:</span> <span class="f">#</span>  <span class="n">else</span> <span class="k">/* !__DARWIN_ONLY_UNIX_CONFORMANCE */</span>
<a name="426" /><span class="Maybe">     426:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX1VOSVgwM18w"><span class="b">__DARWIN_SUF_UNIX03</span></a>        <span class="e">&quot;$UNIX2003&quot;</span>
<a name="427" /><span class="Maybe">     427:</span> <span class="f">#</span>  <span class="n">endif</span> <span class="k">/* __DARWIN_ONLY_UNIX_CONFORMANCE */</span>
<a name="428" /><span class="Maybe">     428:</span> 
<a name="429" /><span class="Maybe">     429:</span> <span class="f">#</span>  <span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fNjRfQklUX0lOT19UXzA_"><span class="b">__DARWIN_64_BIT_INO_T</span></a>
<a name="430" /><span class="False">     430:</span> <span class="f">#</span>    <span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV82NF9CSVRfSU5PX1RfMA__"><span class="b">__DARWIN_ONLY_64_BIT_INO_T</span></a>
<a name="431" /><span class="False">     431:</span> <span class="f">#</span>      <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzY0X0JJVF9JTk9fVF8w"><span class="b">__DARWIN_SUF_64_BIT_INO_T</span></a>    <span class="k">/* nothing */</span>
<a name="432" /><span class="Maybe">     432:</span> <span class="f">#</span>    <span class="n">else</span> <span class="k">/* !__DARWIN_ONLY_64_BIT_INO_T */</span>
<a name="433" /><span class="Maybe">     433:</span> <span class="f">#</span>      <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzY0X0JJVF9JTk9fVF8w"><span class="b">__DARWIN_SUF_64_BIT_INO_T</span></a>    <span class="e">&quot;$INODE64&quot;</span>
<a name="434" /><span class="Maybe">     434:</span> <span class="f">#</span>    <span class="n">endif</span> <span class="k">/* __DARWIN_ONLY_64_BIT_INO_T */</span>
<a name="435" /><span class="False">     435:</span> <span class="f">#</span>  <span class="n">else</span> <span class="k">/* !__DARWIN_64_BIT_INO_T */</span>
<a name="436" /><span class="False">     436:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzY0X0JJVF9JTk9fVF8w"><span class="b">__DARWIN_SUF_64_BIT_INO_T</span></a>    <span class="k">/* nothing */</span>
<a name="437" /><span class="Maybe">     437:</span> <span class="f">#</span>  <span class="n">endif</span> <span class="k">/* __DARWIN_64_BIT_INO_T */</span>
<a name="438" /><span class="Maybe">     438:</span> 
<a name="439" /><span class="Maybe">     439:</span> <span class="f">#</span>  <span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVkVSU18xMDUwXzA_"><span class="b">__DARWIN_VERS_1050</span></a>
<a name="440" /><span class="False">     440:</span> <span class="f">#</span>    <span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV9WRVJTXzEwNTBfMA__"><span class="b">__DARWIN_ONLY_VERS_1050</span></a>
<a name="441" /><span class="False">     441:</span> <span class="f">#</span>      <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzEwNTBfMA__"><span class="b">__DARWIN_SUF_1050</span></a>        <span class="k">/* nothing */</span>
<a name="442" /><span class="Maybe">     442:</span> <span class="f">#</span>    <span class="n">else</span> <span class="k">/* !__DARWIN_ONLY_VERS_1050 */</span>
<a name="443" /><span class="Maybe">     443:</span> <span class="f">#</span>      <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzEwNTBfMA__"><span class="b">__DARWIN_SUF_1050</span></a>        <span class="e">&quot;$1050&quot;</span>
<a name="444" /><span class="Maybe">     444:</span> <span class="f">#</span>    <span class="n">endif</span> <span class="k">/* __DARWIN_ONLY_VERS_1050 */</span>
<a name="445" /><span class="False">     445:</span> <span class="f">#</span>  <span class="n">else</span> <span class="k">/* !__DARWIN_VERS_1050 */</span>
<a name="446" /><span class="False">     446:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzEwNTBfMA__"><span class="b">__DARWIN_SUF_1050</span></a>        <span class="k">/* nothing */</span>
<a name="447" /><span class="Maybe">     447:</span> <span class="f">#</span>  <span class="n">endif</span> <span class="k">/* __DARWIN_VERS_1050 */</span>
<a name="448" /><span class="Maybe">     448:</span> 
<a name="449" /><span class="False">     449:</span> <span class="f">#</span>  <span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fTk9OX0NBTkNFTEFCTEVfMA__"><span class="b">__DARWIN_NON_CANCELABLE</span></a>
<a name="450" /><span class="False">     450:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX05PTl9DQU5DRUxBQkxFXzA_"><span class="b">__DARWIN_SUF_NON_CANCELABLE</span></a>    <span class="e">&quot;$NOCANCEL&quot;</span>
<a name="451" /><span class="Maybe">     451:</span> <span class="f">#</span>  <span class="n">else</span> <span class="k">/* !__DARWIN_NON_CANCELABLE */</span>
<a name="452" /><span class="Maybe">     452:</span> <span class="f">#</span>    <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX05PTl9DQU5DRUxBQkxFXzA_"><span class="b">__DARWIN_SUF_NON_CANCELABLE</span></a>    <span class="k">/* nothing */</span>
<a name="453" /><span class="Maybe">     453:</span> <span class="f">#</span>  <span class="n">endif</span> <span class="k">/* __DARWIN_NON_CANCELABLE */</span>
<a name="454" /><span class="Maybe">     454:</span> 
<a name="455" /><span class="False">     455:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* !__DARWIN_UNIX03 */</span>
<a name="456" /><span class="False">     456:</span> <span class="f">#</span>  <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX1VOSVgwM18w"><span class="b">__DARWIN_SUF_UNIX03</span></a>        <span class="k">/* nothing */</span>
<a name="457" /><span class="False">     457:</span> <span class="f">#</span>  <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzY0X0JJVF9JTk9fVF8w"><span class="b">__DARWIN_SUF_64_BIT_INO_T</span></a>    <span class="k">/* nothing */</span>
<a name="458" /><span class="False">     458:</span> <span class="f">#</span>  <span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX05PTl9DQU5DRUxBQkxFXzA_"><span class="b">__DARWIN_SUF_NON_CANCELABLE</span></a>    <span class="k">/* nothing */</span>
<a name="459" /><span class="False">     459:</span> <span class="f">#</span>  <span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzEwNTBfMA__"><span class="b">__DARWIN_SUF_1050</span></a>        <span class="k">/* nothing */</span>
<a name="460" /><span class="Maybe">     460:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* __DARWIN_UNIX03 */</span>
<a name="461" /><span class="Maybe">     461:</span> 
<a name="462" /><span class="Maybe">     462:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGX0VYVFNOXzA_"><span class="b">__DARWIN_SUF_EXTSN</span></a>        <span class="e">&quot;$DARWIN_EXTSN&quot;</span>
<a name="463" /><span class="Maybe">     463:</span> 
<a name="464" /><span class="Maybe">     464:</span> <span class="k">/*</span>
<a name="465" /><span class="Maybe">     465:</span> <span class="k"> * symbol versioning macros</span>
<a name="466" /><span class="Maybe">     466:</span> <span class="k"> */</span>
<a name="467" /><span class="Maybe">     467:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQUxJQVNfMA__"><span class="b">__DARWIN_ALIAS</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>        <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX1VOSVgwM18w"><span class="b">__DARWIN_SUF_UNIX03</span></a><span class="f">)</span>
<a name="468" /><span class="Maybe">     468:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQUxJQVNfQ18w"><span class="b">__DARWIN_ALIAS_C</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>        <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX05PTl9DQU5DRUxBQkxFXzA_"><span class="b">__DARWIN_SUF_NON_CANCELABLE</span></a> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX1VOSVgwM18w"><span class="b">__DARWIN_SUF_UNIX03</span></a><span class="f">)</span>
<a name="469" /><span class="Maybe">     469:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fQUxJQVNfSV8w"><span class="b">__DARWIN_ALIAS_I</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>        <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzY0X0JJVF9JTk9fVF8w"><span class="b">__DARWIN_SUF_64_BIT_INO_T</span></a> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX1VOSVgwM18w"><span class="b">__DARWIN_SUF_UNIX03</span></a><span class="f">)</span>
<a name="470" /><span class="Maybe">     470:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fSU5PREU2NF8w"><span class="b">__DARWIN_INODE64</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>        <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzY0X0JJVF9JTk9fVF8w"><span class="b">__DARWIN_SUF_64_BIT_INO_T</span></a><span class="f">)</span>
<a name="471" /><span class="Maybe">     471:</span> 
<a name="472" /><span class="Maybe">     472:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fMTA1MF8w"><span class="b">__DARWIN_1050</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>        <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzEwNTBfMA__"><span class="b">__DARWIN_SUF_1050</span></a><span class="f">)</span>
<a name="473" /><span class="Maybe">     473:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fMTA1MEFMSUFTXzA_"><span class="b">__DARWIN_1050ALIAS</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>        <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzEwNTBfMA__"><span class="b">__DARWIN_SUF_1050</span></a> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX1VOSVgwM18w"><span class="b">__DARWIN_SUF_UNIX03</span></a><span class="f">)</span>
<a name="474" /><span class="Maybe">     474:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fMTA1MEFMSUFTX0NfMA__"><span class="b">__DARWIN_1050ALIAS_C</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>    <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzEwNTBfMA__"><span class="b">__DARWIN_SUF_1050</span></a> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX05PTl9DQU5DRUxBQkxFXzA_"><span class="b">__DARWIN_SUF_NON_CANCELABLE</span></a> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX1VOSVgwM18w"><span class="b">__DARWIN_SUF_UNIX03</span></a><span class="f">)</span>
<a name="475" /><span class="Maybe">     475:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fMTA1MEFMSUFTX0lfMA__"><span class="b">__DARWIN_1050ALIAS_I</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>    <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzEwNTBfMA__"><span class="b">__DARWIN_SUF_1050</span></a> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzY0X0JJVF9JTk9fVF8w"><span class="b">__DARWIN_SUF_64_BIT_INO_T</span></a> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX1VOSVgwM18w"><span class="b">__DARWIN_SUF_UNIX03</span></a><span class="f">)</span>
<a name="476" /><span class="Maybe">     476:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fMTA1MElOT0RFNjRfMA__"><span class="b">__DARWIN_1050INODE64</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>    <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzEwNTBfMA__"><span class="b">__DARWIN_SUF_1050</span></a> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGXzY0X0JJVF9JTk9fVF8w"><span class="b">__DARWIN_SUF_64_BIT_INO_T</span></a><span class="f">)</span>
<a name="477" /><span class="Maybe">     477:</span> 
<a name="478" /><span class="Maybe">     478:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fRVhUU05fMA__"><span class="b">__DARWIN_EXTSN</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>        <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGX0VYVFNOXzA_"><span class="b">__DARWIN_SUF_EXTSN</span></a><span class="f">)</span>
<a name="479" /><span class="Maybe">     479:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fRVhUU05fQ18w"><span class="b">__DARWIN_EXTSN_C</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span>        <span class="b">__asm</span><span class="f">(</span><span class="e">&quot;_&quot;</span> <a href="cpu.c_macros_ref.html#_X19TVFJJTkdfMA__"><span class="b">__STRING</span></a><span class="f">(</span><span class="b">sym</span><span class="f">)</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fU1VGX0VYVFNOXzA_"><span class="b">__DARWIN_SUF_EXTSN</span></a> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fU1VGX05PTl9DQU5DRUxBQkxFXzA_"><span class="b">__DARWIN_SUF_NON_CANCELABLE</span></a><span class="f">)</span>
<a name="480" /><span class="Maybe">     480:</span> 
<a name="481" /><span class="Maybe">     481:</span> <span class="k">/*</span>
<a name="482" /><span class="Maybe">     482:</span> <span class="k"> * symbol release macros</span>
<a name="483" /><span class="Maybe">     483:</span> <span class="k"> */</span>
<a name="484" /><span class="Maybe">     484:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_symbol_aliasing</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="485" /><span class="Maybe">     485:</span> 
<a name="486" /><span class="False">     486:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__</span><span class="f">)</span>
<a name="487" /><span class="False">     487:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQUxJQVNfU1RBUlRJTkdfMA__"><span class="b">__DARWIN_ALIAS_STARTING</span></a><span class="f">(</span><span class="b">_mac</span><span class="f">,</span> <span class="b">_iphone</span><span class="f">,</span> <span class="b">x</span><span class="f">)</span>   <span class="b">__DARWIN_ALIAS_STARTING_IPHONE_</span><span class="f">##</span><span class="b">_iphone</span><span class="f">(</span><span class="b">x</span><span class="f">)</span>
<a name="488" /><span class="False">     488:</span> <span class="f">#</span><span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><span class="b">__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__</span><span class="f">)</span>
<a name="489" /><span class="False">     489:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQUxJQVNfU1RBUlRJTkdfMA__"><span class="b">__DARWIN_ALIAS_STARTING</span></a><span class="f">(</span><span class="b">_mac</span><span class="f">,</span> <span class="b">_iphone</span><span class="f">,</span> <span class="b">x</span><span class="f">)</span>   <span class="b">__DARWIN_ALIAS_STARTING_MAC_</span><span class="f">##</span><span class="b">_mac</span><span class="f">(</span><span class="b">x</span><span class="f">)</span>
<a name="490" /><span class="Maybe">     490:</span> <span class="f">#</span><span class="n">else</span>
<a name="491" /><span class="Maybe">     491:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQUxJQVNfU1RBUlRJTkdfMA__"><span class="b">__DARWIN_ALIAS_STARTING</span></a><span class="f">(</span><span class="b">_mac</span><span class="f">,</span> <span class="b">_iphone</span><span class="f">,</span> <span class="b">x</span><span class="f">)</span>
<a name="492" /><span class="Maybe">     492:</span> <span class="f">#</span><span class="n">endif</span>
<a name="493" /><span class="Maybe">     493:</span> 
<a name="494" /><span class="Maybe">     494:</span> 
<a name="495" /><span class="Maybe">     495:</span> <span class="k">/*</span>
<a name="496" /><span class="Maybe">     496:</span> <span class="k"> * POSIX.1 requires that the macros we test be defined before any standard</span>
<a name="497" /><span class="Maybe">     497:</span> <span class="k"> * header file is included.  This permits us to convert values for feature</span>
<a name="498" /><span class="Maybe">     498:</span> <span class="k"> * testing, as necessary, using only _POSIX_C_SOURCE.</span>
<a name="499" /><span class="Maybe">     499:</span> <span class="k"> *</span>
<a name="500" /><span class="Maybe">     500:</span> <span class="k"> * Here&apos;s a quick run-down of the versions:</span>
<a name="501" /><span class="Maybe">     501:</span> <span class="k"> *  defined(_POSIX_SOURCE)        1003.1-1988</span>
<a name="502" /><span class="Maybe">     502:</span> <span class="k"> *  _POSIX_C_SOURCE == 1L        1003.1-1990</span>
<a name="503" /><span class="Maybe">     503:</span> <span class="k"> *  _POSIX_C_SOURCE == 2L        1003.2-1992 C Language Binding Option</span>
<a name="504" /><span class="Maybe">     504:</span> <span class="k"> *  _POSIX_C_SOURCE == 199309L        1003.1b-1993</span>
<a name="505" /><span class="Maybe">     505:</span> <span class="k"> *  _POSIX_C_SOURCE == 199506L        1003.1c-1995, 1003.1i-1995,</span>
<a name="506" /><span class="Maybe">     506:</span> <span class="k"> *                    and the omnibus ISO/IEC 9945-1: 1996</span>
<a name="507" /><span class="Maybe">     507:</span> <span class="k"> *  _POSIX_C_SOURCE == 200112L        1003.1-2001</span>
<a name="508" /><span class="Maybe">     508:</span> <span class="k"> *  _POSIX_C_SOURCE == 200809L        1003.1-2008</span>
<a name="509" /><span class="Maybe">     509:</span> <span class="k"> *</span>
<a name="510" /><span class="Maybe">     510:</span> <span class="k"> * In addition, the X/Open Portability Guide, which is now the Single UNIX</span>
<a name="511" /><span class="Maybe">     511:</span> <span class="k"> * Specification, defines a feature-test macro which indicates the version of</span>
<a name="512" /><span class="Maybe">     512:</span> <span class="k"> * that specification, and which subsumes _POSIX_C_SOURCE.</span>
<a name="513" /><span class="Maybe">     513:</span> <span class="k"> */</span>
<a name="514" /><span class="Maybe">     514:</span> 
<a name="515" /><span class="Maybe">     515:</span> <span class="k">/* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L. */</span>
<a name="516" /><span class="False">     516:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">_POSIX_C_SOURCE</span> <span class="f">==</span> <span class="c">1L</span>
<a name="517" /><span class="False">     517:</span> <span class="f">#</span><span class="n">undef</span> <span class="b">_POSIX_C_SOURCE</span>
<a name="518" /><span class="False">     518:</span> <span class="f">#</span><span class="n">define</span>    <span class="b">_POSIX_C_SOURCE</span>        <span class="c">199009L</span>
<a name="519" /><span class="Maybe">     519:</span> <span class="f">#</span><span class="n">endif</span>
<a name="520" /><span class="Maybe">     520:</span> 
<a name="521" /><span class="Maybe">     521:</span> <span class="k">/* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L. */</span>
<a name="522" /><span class="False">     522:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">_POSIX_C_SOURCE</span> <span class="f">==</span> <span class="c">2L</span>
<a name="523" /><span class="False">     523:</span> <span class="f">#</span><span class="n">undef</span> <span class="b">_POSIX_C_SOURCE</span>
<a name="524" /><span class="False">     524:</span> <span class="f">#</span><span class="n">define</span>    <span class="b">_POSIX_C_SOURCE</span>        <span class="c">199209L</span>
<a name="525" /><span class="Maybe">     525:</span> <span class="f">#</span><span class="n">endif</span>
<a name="526" /><span class="Maybe">     526:</span> 
<a name="527" /><span class="Maybe">     527:</span> <span class="k">/* Deal with various X/Open Portability Guides and Single UNIX Spec. */</span>
<a name="528" /><span class="False">     528:</span> <span class="f">#</span><span class="n">ifdef</span> <span class="b">_XOPEN_SOURCE</span>
<a name="529" /><span class="False">     529:</span> <span class="f">#</span><span class="n">if</span> <span class="b">_XOPEN_SOURCE</span> <span class="f">-</span> <span class="c">0L</span> <span class="f">&gt;=</span> <span class="c">700L</span> <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">_POSIX_C_SOURCE</span> <span class="f">-</span> <span class="c">0L</span> <span class="f">&lt;</span> <span class="c">200809L</span><span class="f">)</span>
<a name="530" /><span class="False">     530:</span> <span class="f">#</span><span class="n">undef</span> <span class="b">_POSIX_C_SOURCE</span>
<a name="531" /><span class="False">     531:</span> <span class="f">#</span><span class="n">define</span> <span class="b">_POSIX_C_SOURCE</span>         <span class="c">200809L</span>
<a name="532" /><span class="False">     532:</span> <span class="f">#</span><span class="n">elif</span> <span class="b">_XOPEN_SOURCE</span> <span class="f">-</span> <span class="c">0L</span> <span class="f">&gt;=</span> <span class="c">600L</span> <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">_POSIX_C_SOURCE</span> <span class="f">-</span> <span class="c">0L</span> <span class="f">&lt;</span> <span class="c">200112L</span><span class="f">)</span>
<a name="533" /><span class="False">     533:</span> <span class="f">#</span><span class="n">undef</span> <span class="b">_POSIX_C_SOURCE</span>
<a name="534" /><span class="False">     534:</span> <span class="f">#</span><span class="n">define</span>    <span class="b">_POSIX_C_SOURCE</span>        <span class="c">200112L</span>
<a name="535" /><span class="False">     535:</span> <span class="f">#</span><span class="n">elif</span> <span class="b">_XOPEN_SOURCE</span> <span class="f">-</span> <span class="c">0L</span> <span class="f">&gt;=</span> <span class="c">500L</span> <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">||</span> <span class="b">_POSIX_C_SOURCE</span> <span class="f">-</span> <span class="c">0L</span> <span class="f">&lt;</span> <span class="c">199506L</span><span class="f">)</span>
<a name="536" /><span class="False">     536:</span> <span class="f">#</span><span class="n">undef</span> <span class="b">_POSIX_C_SOURCE</span>
<a name="537" /><span class="False">     537:</span> <span class="f">#</span><span class="n">define</span>    <span class="b">_POSIX_C_SOURCE</span>        <span class="c">199506L</span>
<a name="538" /><span class="False">     538:</span> <span class="f">#</span><span class="n">endif</span>
<a name="539" /><span class="Maybe">     539:</span> <span class="f">#</span><span class="n">endif</span>
<a name="540" /><span class="Maybe">     540:</span> 
<a name="541" /><span class="Maybe">     541:</span> <span class="k">/*</span>
<a name="542" /><span class="Maybe">     542:</span> <span class="k"> * Deal with all versions of POSIX.  The ordering relative to the tests above is</span>
<a name="543" /><span class="Maybe">     543:</span> <span class="k"> * important.</span>
<a name="544" /><span class="Maybe">     544:</span> <span class="k"> */</span>
<a name="545" /><span class="False">     545:</span> <span class="f">#</span><span class="n">if</span> <span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_SOURCE</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span>
<a name="546" /><span class="False">     546:</span> <span class="f">#</span><span class="n">define</span> <span class="b">_POSIX_C_SOURCE</span>         <span class="c">198808L</span>
<a name="547" /><span class="Maybe">     547:</span> <span class="f">#</span><span class="n">endif</span>
<a name="548" /><span class="Maybe">     548:</span> 
<a name="549" /><span class="Maybe">     549:</span> <span class="k">/* POSIX C deprecation macros */</span>
<a name="550" /><span class="Maybe">     550:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">sys</span><span class="f">/</span><span class="b">_posix_availability</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="551" /><span class="Maybe">     551:</span> 
<a name="552" /><span class="Maybe">     552:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19QT1NJWF9DX0RFUFJFQ0FURURfMA__"><span class="b">__POSIX_C_DEPRECATED</span></a><span class="f">(</span><span class="b">ver</span><span class="f">)</span> <span class="b">___POSIX_C_DEPRECATED_STARTING_</span><span class="f">##</span><span class="b">ver</span>
<a name="553" /><span class="Maybe">     553:</span> 
<a name="554" /><span class="Maybe">     554:</span> <span class="k">/*</span>
<a name="555" /><span class="Maybe">     555:</span> <span class="k"> * Set a single macro which will always be defined and can be used to determine</span>
<a name="556" /><span class="Maybe">     556:</span> <span class="k"> * the appropriate namespace.  For POSIX, these values will correspond to</span>
<a name="557" /><span class="Maybe">     557:</span> <span class="k"> * _POSIX_C_SOURCE value.  Currently there are two additional levels corresponding</span>
<a name="558" /><span class="Maybe">     558:</span> <span class="k"> * to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)</span>
<a name="559" /><span class="Maybe">     559:</span> <span class="k"> */</span>
<a name="560" /><span class="Maybe">     560:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fQ19BTlNJXzA_"><span class="b">__DARWIN_C_ANSI</span></a>         <span class="c">010000L</span>
<a name="561" /><span class="Maybe">     561:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQ19GVUxMXzA_"><span class="b">__DARWIN_C_FULL</span></a>         <span class="c">900000L</span>
<a name="562" /><span class="Maybe">     562:</span> 
<a name="563" /><span class="False">     563:</span> <span class="f">#</span><span class="n">if</span>   <span class="b">defined</span><span class="f">(</span><span class="b">_ANSI_SOURCE</span><span class="f">)</span>
<a name="564" /><span class="False">     564:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQ19MRVZFTF8w"><span class="b">__DARWIN_C_LEVEL</span></a>        <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fQ19BTlNJXzA_"><span class="b">__DARWIN_C_ANSI</span></a>
<a name="565" /><span class="False">     565:</span> <span class="f">#</span><span class="n">elif</span> <span class="b">defined</span><span class="f">(</span><span class="b">_POSIX_C_SOURCE</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_DARWIN_C_SOURCE</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">_NONSTD_SOURCE</span><span class="f">)</span>
<a name="566" /><span class="False">     566:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQ19MRVZFTF8w"><span class="b">__DARWIN_C_LEVEL</span></a>        <span class="b">_POSIX_C_SOURCE</span>
<a name="567" /><span class="Maybe">     567:</span> <span class="f">#</span><span class="n">else</span>
<a name="568" /><span class="Maybe">     568:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQ19MRVZFTF8w"><span class="b">__DARWIN_C_LEVEL</span></a>        <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQ19GVUxMXzA_"><span class="b">__DARWIN_C_FULL</span></a>
<a name="569" /><span class="Maybe">     569:</span> <span class="f">#</span><span class="n">endif</span>
<a name="570" /><span class="Maybe">     570:</span> 
<a name="571" /><span class="Maybe">     571:</span> <span class="k">/* If the developer has neither requested a strict language mode nor a version</span>
<a name="572" /><span class="Maybe">     572:</span> <span class="k"> * of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part</span>
<a name="573" /><span class="Maybe">     573:</span> <span class="k"> * of __DARWIN_C_FULL.</span>
<a name="574" /><span class="Maybe">     574:</span> <span class="k"> */</span>
<a name="575" /><span class="Maybe">     575:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X19TVERDX1dBTlRfTElCX0VYVDFfX18w"><span class="b">__STDC_WANT_LIB_EXT1__</span></a><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">__STRICT_ANSI__</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQ19MRVZFTF8w"><span class="b">__DARWIN_C_LEVEL</span></a> <span class="f">&gt;=</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fQ19GVUxMXzA_"><span class="b">__DARWIN_C_FULL</span></a>
<a name="576" /><span class="Maybe">     576:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19TVERDX1dBTlRfTElCX0VYVDFfX18w"><span class="b">__STDC_WANT_LIB_EXT1__</span></a> <span class="c">1</span>
<a name="577" /><span class="Maybe">     577:</span> <span class="f">#</span><span class="n">endif</span>
<a name="578" /><span class="Maybe">     578:</span> 
<a name="579" /><span class="Maybe">     579:</span> <span class="k">/*</span>
<a name="580" /><span class="Maybe">     580:</span> <span class="k"> * long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and</span>
<a name="581" /><span class="Maybe">     581:</span> <span class="k"> * c99 still want long longs.  While not perfect, we allow long longs for</span>
<a name="582" /><span class="Maybe">     582:</span> <span class="k"> * g++.</span>
<a name="583" /><span class="Maybe">     583:</span> <span class="k"> */</span>
<a name="584" /><span class="Maybe">     584:</span> <span class="f">#</span><span class="n">define</span>    <a href="cpu.c_macros_noref.html#_X19EQVJXSU5fTk9fTE9OR19MT05HXzA_"><span class="b">__DARWIN_NO_LONG_LONG</span></a>    <span class="f">(</span><span class="b">defined</span><span class="f">(</span><span class="b">__STRICT_ANSI__</span><span class="f">)</span> \
<a name="585" /><span class="Maybe">     585:</span>                 <span class="f">&amp;&amp;</span> <span class="f">(</span><span class="b">__STDC_VERSION__</span><span class="f">-</span><span class="c">0</span> <span class="f">&lt;</span> <span class="c">199901L</span><span class="f">)</span> \
<a name="586" /><span class="Maybe">     586:</span>                 <span class="f">&amp;&amp;</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">__GNUG__</span><span class="f">)</span><span class="f">)</span>
<a name="587" /><span class="Maybe">     587:</span> 
<a name="588" /><span class="Maybe">     588:</span> <span class="k">/*****************************************</span>
<a name="589" /><span class="Maybe">     589:</span> <span class="k"> *  Public darwin-specific feature macros</span>
<a name="590" /><span class="Maybe">     590:</span> <span class="k"> *****************************************/</span>
<a name="591" /><span class="Maybe">     591:</span> 
<a name="592" /><span class="Maybe">     592:</span> <span class="k">/*</span>
<a name="593" /><span class="Maybe">     593:</span> <span class="k"> * _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and</span>
<a name="594" /><span class="Maybe">     594:</span> <span class="k"> * structures modified for 64-bit inodes (like struct stat) will be used.</span>
<a name="595" /><span class="Maybe">     595:</span> <span class="k"> */</span>
<a name="596" /><span class="Maybe">     596:</span> <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fNjRfQklUX0lOT19UXzA_"><span class="b">__DARWIN_64_BIT_INO_T</span></a>
<a name="597" /><span class="Maybe">     597:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0RBUldJTl9GRUFUVVJFXzY0X0JJVF9JTk9ERV8w"><span class="b">_DARWIN_FEATURE_64_BIT_INODE</span></a>        <span class="c">1</span>
<a name="598" /><span class="Maybe">     598:</span> <span class="f">#</span><span class="n">endif</span>
<a name="599" /><span class="Maybe">     599:</span> 
<a name="600" /><span class="Maybe">     600:</span> <span class="k">/*</span>
<a name="601" /><span class="Maybe">     601:</span> <span class="k"> * _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only</span>
<a name="602" /><span class="Maybe">     602:</span> <span class="k"> * be 64-bit; there is no support for 32-bit ino_t when this macro is defined</span>
<a name="603" /><span class="Maybe">     603:</span> <span class="k"> * (and non-zero).  There is no struct stat64 either, as the regular</span>
<a name="604" /><span class="Maybe">     604:</span> <span class="k"> * struct stat will already be the 64-bit version.</span>
<a name="605" /><span class="Maybe">     605:</span> <span class="k"> */</span>
<a name="606" /><span class="False">     606:</span> <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV82NF9CSVRfSU5PX1RfMA__"><span class="b">__DARWIN_ONLY_64_BIT_INO_T</span></a>
<a name="607" /><span class="False">     607:</span> <span class="f">#</span><span class="n">define</span> <span class="b">_DARWIN_FEATURE_ONLY_64_BIT_INODE</span>    <span class="c">1</span>
<a name="608" /><span class="Maybe">     608:</span> <span class="f">#</span><span class="n">endif</span>
<a name="609" /><span class="Maybe">     609:</span> 
<a name="610" /><span class="Maybe">     610:</span> <span class="k">/*</span>
<a name="611" /><span class="Maybe">     611:</span> <span class="k"> * _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated</span>
<a name="612" /><span class="Maybe">     612:</span> <span class="k"> * in 10.5 exists; no pre-10.5 variants are available.</span>
<a name="613" /><span class="Maybe">     613:</span> <span class="k"> */</span>
<a name="614" /><span class="False">     614:</span> <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV9WRVJTXzEwNTBfMA__"><span class="b">__DARWIN_ONLY_VERS_1050</span></a>
<a name="615" /><span class="False">     615:</span> <span class="f">#</span><span class="n">define</span> <span class="b">_DARWIN_FEATURE_ONLY_VERS_1050</span>        <span class="c">1</span>
<a name="616" /><span class="Maybe">     616:</span> <span class="f">#</span><span class="n">endif</span>
<a name="617" /><span class="Maybe">     617:</span> 
<a name="618" /><span class="Maybe">     618:</span> <span class="k">/*</span>
<a name="619" /><span class="Maybe">     619:</span> <span class="k"> * _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API</span>
<a name="620" /><span class="Maybe">     620:</span> <span class="k"> * are available (the legacy BSD APIs are not available)</span>
<a name="621" /><span class="Maybe">     621:</span> <span class="k"> */</span>
<a name="622" /><span class="False">     622:</span> <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fT05MWV9VTklYX0NPTkZPUk1BTkNFXzA_"><span class="b">__DARWIN_ONLY_UNIX_CONFORMANCE</span></a>
<a name="623" /><span class="False">     623:</span> <span class="f">#</span><span class="n">define</span> <span class="b">_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE</span>    <span class="c">1</span>
<a name="624" /><span class="Maybe">     624:</span> <span class="f">#</span><span class="n">endif</span>
<a name="625" /><span class="Maybe">     625:</span> 
<a name="626" /><span class="Maybe">     626:</span> <span class="k">/*</span>
<a name="627" /><span class="Maybe">     627:</span> <span class="k"> * _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,</span>
<a name="628" /><span class="Maybe">     628:</span> <span class="k"> * and specifies the conformance level (3 is SUSv3)</span>
<a name="629" /><span class="Maybe">     629:</span> <span class="k"> */</span>
<a name="630" /><span class="Maybe">     630:</span> <span class="f">#</span><span class="n">if</span> <a href="cpu.c_macros_ref.html#_X19EQVJXSU5fVU5JWDAzXzA_"><span class="b">__DARWIN_UNIX03</span></a>
<a name="631" /><span class="Maybe">     631:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0RBUldJTl9GRUFUVVJFX1VOSVhfQ09ORk9STUFOQ0VfMA__"><span class="b">_DARWIN_FEATURE_UNIX_CONFORMANCE</span></a>    <span class="c">3</span>
<a name="632" /><span class="Maybe">     632:</span> <span class="f">#</span><span class="n">endif</span>
<a name="633" /><span class="Maybe">     633:</span> 
<a name="634" /><span class="Maybe">     634:</span> <span class="k">/* </span>
<a name="635" /><span class="Maybe">     635:</span> <span class="k"> * This macro casts away the qualifier from the variable</span>
<a name="636" /><span class="Maybe">     636:</span> <span class="k"> *</span>
<a name="637" /><span class="Maybe">     637:</span> <span class="k"> * Note: use at your own risk, removing qualifiers can result in</span>
<a name="638" /><span class="Maybe">     638:</span> <span class="k"> * catastrophic run-time failures.</span>
<a name="639" /><span class="Maybe">     639:</span> <span class="k"> */</span>
<a name="640" /><span class="Maybe">     640:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19DQVNUX0FXQVlfUVVBTElGSUVSXzA_"><span class="b">__CAST_AWAY_QUALIFIER</span></a>
<a name="641" /><span class="Maybe">     641:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19DQVNUX0FXQVlfUVVBTElGSUVSXzA_"><span class="b">__CAST_AWAY_QUALIFIER</span></a><span class="f">(</span><span class="b">variable</span><span class="f">,</span> <span class="b">qualifier</span><span class="f">,</span> <span class="b">type</span><span class="f">)</span>  <span class="f">(</span><span class="b">type</span><span class="f">)</span> <span class="f">(</span><span class="m">long</span><span class="f">)</span><span class="f">(</span><span class="b">variable</span><span class="f">)</span>
<a name="642" /><span class="Maybe">     642:</span> <span class="f">#</span><span class="n">endif</span>
<a name="643" /><span class="Maybe">     643:</span> 
<a name="644" /><span class="Maybe">     644:</span> <span class="k">/*</span>
<a name="645" /><span class="Maybe">     645:</span> <span class="k"> * __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be</span>
<a name="646" /><span class="Maybe">     646:</span> <span class="k"> * used from other compilation units, but not other libraries or executables.</span>
<a name="647" /><span class="Maybe">     647:</span> <span class="k"> */</span>
<a name="648" /><span class="Maybe">     648:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_ref.html#_X19YTlVfUFJJVkFURV9FWFRFUk5fMA__"><span class="b">__XNU_PRIVATE_EXTERN</span></a>
<a name="649" /><span class="Maybe">     649:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_ref.html#_X19YTlVfUFJJVkFURV9FWFRFUk5fMA__"><span class="b">__XNU_PRIVATE_EXTERN</span></a> <span class="b">__attribute__</span><span class="f">(</span><span class="f">(</span><span class="b">visibility</span><span class="f">(</span><span class="e">&quot;hidden&quot;</span><span class="f">)</span><span class="f">)</span><span class="f">)</span>
<a name="650" /><span class="Maybe">     650:</span> <span class="f">#</span><span class="n">endif</span>
<a name="651" /><span class="Maybe">     651:</span> 
<a name="652" /><span class="Maybe">     652:</span> <span class="k">/*</span>
<a name="653" /><span class="Maybe">     653:</span> <span class="k"> * Architecture validation for current SDK</span>
<a name="654" /><span class="Maybe">     654:</span> <span class="k"> */</span>
<a name="655" /><span class="False">     655:</span> <span class="f">#</span><span class="n">if</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">__sys_cdefs_arch_unknown__</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">defined</span><span class="f">(</span><span class="b">__i386__</span><span class="f">)</span>
<a name="656" /><span class="Maybe">     656:</span> <span class="f">#</span><span class="n">elif</span> <span class="f">!</span><span class="b">defined</span><span class="f">(</span><span class="b">__sys_cdefs_arch_unknown__</span><span class="f">)</span> <span class="f">&amp;&amp;</span> <span class="b">defined</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_X194ODZfNjRfX18w"><span class="b">__x86_64__</span></a><span class="f">)</span>
<a name="657" /><span class="False">     657:</span> <span class="f">#</span><span class="n">else</span>
<a name="658" /><span class="False">     658:</span> <span class="f">#</span><span class="n">error</span> <span class="b">Unsupported</span> <span class="b">architecture</span>
<a name="659" /><span class="Maybe">     659:</span> <span class="f">#</span><span class="n">endif</span>
<a name="660" /><span class="Maybe">     660:</span> 
<a name="661" /><span class="True">     661:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !_CDEFS_H_ */</span>
<a name="662" /><span class="True">     662:</span> </pre>
  </body>
</html>
